Many color cameras capture images use a color filter array over an image sensor to sample only one of the primary colors (red (R), green (G), blue (B)) at each pixel position. More specifically, the color filter array filters the incoming light so that each pixel of the image sensor receives only one of the primary colors. A commonly used color filter array is referred to as a Bayer pattern color filter array, which is described in U.S. Pat. No. 3,971,065.
Typically, the Bayer pattern color filter array selectively passes pixels to the image sensor so that a mosaic is produced with one-half of its pixels being green, one-quarter of its pixels being red, and one-quarter of its pixels being blue. That is, the captured green pixels G are only one-half of the total number of pixels captured by the image capture sensor, and the captured red pixels and blue pixels are each only one-quarter of the total number of pixels captured by the image capture sensor.
To obtain a complete full resolution set of pixels for each of the color components, a process referred to as demosaicing is used to reconstruct a full color image from the color samples that are output from an image capture sensor overlaid with a color filter array. Part of the demosaicing process usually requires interpolating the color image data. The interpolation process often uses an interpolation direction estimate to avoid any artifacts that result in a low image quality. The interpolation direction estimate may be determined using gradient information extracted from cross color intensity domains. Many of the conventional methods use an integrated gradient that extracts gradient information from either color intensity or color difference domains. In most cases, they resulted in fine direction estimate, but they fails at high frequency regions of the image, resulting in zipper, maze, and false color artifacts. If the interpolation direction is not accurate, resolution is degraded by wrong edge at the high frequency region.